package com.sofwin.ruoyi.scyffinal.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 设备设施库实体类
 */
@Data
@TableName("risk_equipment_facility")
public class EquipmentFacility {
    
    /**
     * 主键ID
     */
    @TableId
    private Integer id;
    
    /**
     * 设备编码
     */
    @TableField(value = "equipment_code")
    private String equipmentCode;
    
    /**
     * 设备名称
     */
    @TableField(value = "equipment_name")
    private String equipmentName;
    
    /**
     * 设备分类
     */
    @TableField(value = "equipment_category")
    private Integer equipmentCategory;
    
    /**
     * 所在区域
     */
    @TableField(value = "area_location")
    private String areaLocation;
    
    /**
     * 规则型号
     */
    @TableField(value = "specification_model")
    private String specificationModel;
    
    /**
     * 使用部门ID
     */
    @TableField(value = "use_department_id")
    private Long useDepartmentId;
    
    /**
     * 责任人
     */
    @TableField(value = "responsible_person")
    private String responsiblePerson;
    
    /**
     * 存放位置
     */
    @TableField(value = "storage_location")
    private String storageLocation;
    
    /**
     * 出厂厂家
     */
    private String manufacturer;
    
    /**
     * 出厂日期
     */
    @TableField(value = "manufacture_date")
    private Date manufactureDate;
    
    /**
     * 失效日期
     */
    @TableField(value = "expiration_date")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date expirationDate;
    
    /**
     * 出厂编号
     */
    @TableField(value = "factory_number")
    private String factoryNumber;
    
    /**
     * 使用证号
     */
    @TableField(value = "usage_certificate_number")
    private String usageCertificateNumber;
    
    /**
     * 发证日期
     */
    @TableField(value = "certificate_issue_date")
    private Date certificateIssueDate;
    
    /**
     * 机构核准证书
     */
    @TableField(value = "institution_approval_certificate")
    private String institutionApprovalCertificate;
    
    /**
     * 系统名称
     */
    @TableField(value = "system_name")
    private String systemName;
    
    /**
     * 投用日期
     */
    @TableField(value = "commissioning_date")
    private Date commissioningDate;
    
    /**
     * 检测周期(天)
     */
    @TableField(value = "inspection_cycle")
    private Integer inspectionCycle;
    
    /**
     * 最近检测时间
     */
    @TableField(value = "last_inspection_time")
    private Date lastInspectionTime;
    
    /**
     * 最近检测结论
     */
    @TableField(value = "last_inspection_conclusion")
    private String lastInspectionConclusion;
    
    /**
     * 下次检测时间
     */
    @TableField(value = "next_inspection_time")
    private Date nextInspectionTime;
    
    /**
     * 检测预警天数
     */
    @TableField(value = "inspection_warning_days")
    private Integer inspectionWarningDays;
    
    /**
     * 失效预警天数
     */
    @TableField(value = "expiration_warning_days")
    private Integer expirationWarningDays;
    
    /**
     * 设备类型:特种设备/生产设备/仪表
     */
    @TableField(value = "equipment_type")
    private String equipmentType;
    
    /**
     * 设备状态
     */
    @TableField(value = "equipment_status")
    private Integer equipmentStatus;
    
    /**
     * 设备保管岗位ID
     */
    @TableField(value = "storage_post_id")
    private Long storagePostId;
    
    /**
     * 检查岗位ID
     */
    @TableField(value = "inspection_post_id")
    private Long inspectionPostId;
    
    /**
     * 地图坐标
     */
    @TableField(value = "map_coordinates")
    private String mapCoordinates;
    
    /**
     * 设备属性
     */
//    @TableField(value = "equipment_attributes_id")
//    private Integer equipmentAttributesId;
    
    /**
     * 测点参数
     */
    @TableField(value = "measurement_parameters")
    private String measurementParameters;
    
    /**
     * 相关附件路径
     */
    @TableField(value = "related_attachments")
    private String relatedAttachments;
    
    /**
     * 设备检测记录
     */
    @TableField(value = "inspection_records")
    private String inspectionRecords;
    
    /**
     * 设备维修记录
     */
    @TableField(value = "maintenance_records")
    private String maintenanceRecords;



}